// 将扁平数组转换为树形结构
const convertToTree = (items) => {
    const result = [];
    const itemMap = {};

    // 首先创建一个映射
    items.forEach((item) => {
        itemMap[item.id] = {
            ...item,
            children: [],
        };
    });

    // 构建树形结构
    items.forEach((item) => {
        if (item.part_of === null) {
            // 这是顶级节点
            result.push(itemMap[item.id]);
        } else {
            // 这是子节点，将其添加到父节点的children数组中
            if (itemMap[item.part_of]) {
                itemMap[item.part_of].children.push(itemMap[item.id]);
            }
        }
    });

    return result;
};

export default convertToTree;